package com.asen.commons.enums;

import com.asen.commons.core.base.StringEnum;
import io.swagger.annotations.ApiModel;

/**
 * @description: 缓存类型分类
 * 枚举命名规则：缓存业务数据（服务）
 * @author: hgc
 * @create: 2018-09-12 18:16
 **/
@ApiModel("缓存类型")
public enum CacheTypeEnum implements StringEnum {

    LOGIN_USER("LOGIN_USER", "登录用户缓存"),
    QPS("QPS", "QPS缓存"),
    WMS_CODE("WMS_CODE", "WMS_CODE缓存"),
    ALL_USER_INFO("ALL_USER_INFO", "所有用户信息缓存"),
    SERVER_KEY_ID("SERVER_KEY_ID", "数据库主键缓存"),
    DICT_DATA("DICT_DATA", "数据字典缓存"),
    EVENT_DATA("EVENT_DATA", "事件缓存"),
    META_DATA("META_DATA", "元数据缓存"),
    ALL_MENU("ALL_MENU", "所有菜单信息缓存"),
    ALL_MOBILE_MENU("ALL_MOBILE_MENU", "所有手机菜单信息缓存"),
    SKIP_AUTHORIZATION_URL("SKIP_AUTHORIZATION_URL", "所有跳过授权的url缓存"),
    SKIP_LOGIN_URL("SKIP_LOGIN_URL", "所有跳过登录的url缓存"),
    BAS_DATA("BAS_DATA", "基础数据缓存"),
    ACT_CACHE("ACT_CACHE", "流程缓存"),
    DEV_FORWARD_CONFIG("DEV_FORWARD_CONFIG", "开发环境配置信息缓存"),
    DISTRIBUTED_LOCK("DISTRIBUTED_LOCK", "分布式锁key缓存"),
    API("API", "API缓存"),
    SYSTEM_PARAM("SYSTEM_PARAM", "系统参数缓存"),
    PERSONAL_PARAM("PERSONAL_PARAM", "个人参数缓存"),
    ENTITY_CONFIG("ENTITY_CONFIG", "实体配置缓存"),
    LC_EVENT("LC_EVENT", "LC事件配置缓存"),
    TENANT_CONFIG("TENANT_CONFIG", "租户配置（按租户区分缓存）"),
    PLATFORM_CONFIG("PLATFORM_CONFIG", "平台配置（全局缓存）"),
    SCHEDULE("SCHEDULE", "schedule任务缓存"),
    AMQ("AMQ", "消息队列缓存"),
    ;

    private String value;

    private String desc;

    CacheTypeEnum(String value, String desc) {
        this.value = value;
        this.desc = desc;
    }

    @Override
    public String getValue() {
        return value;
    }

    @Override
    public String getDesc() {
        return desc;
    }
}
